package com.jtny.nytb.config.measurementunit.dto;

import com.jtny.component.annotation.QueryParamField;
import com.jtny.component.entity.PageParam;
import com.jtny.component.enums.FieldMatchingTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@ApiModel("计量单位分页查询参数DTO对象")
@Data
public class MeasurementUnitPageQueryDTO extends PageParam implements Serializable {

    @ApiModelProperty("计量单位编码查询条件，精确查询")
    @QueryParamField(columnName = "code", matchingType = FieldMatchingTypeEnum.EQ)
    private String code;

    @ApiModelProperty("计量单位分类名称查询条件，模糊查询")
    @QueryParamField(columnName = "name", matchingType = FieldMatchingTypeEnum.LIKE)
    private String nameLike;

    @ApiModelProperty("计量单位状态查询条件，范围查询")
    @QueryParamField(columnName = "status", matchingType = FieldMatchingTypeEnum.IN)
    private List<Integer> statusList;

    @ApiModelProperty("计量单位分类id查询条件，范围查询")
    private Long typeId;

    @ApiModelProperty("id列表")
    @QueryParamField(columnName = "id", matchingType = FieldMatchingTypeEnum.IN)
    private List<Long> idList;
}
